package com.mallcloud.mall.product.api.vo;

import com.mallcloud.mall.common.core.util.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "SkuVO", description = "后台分页sku信息")
@Data
public class SkuVO implements Serializable {
    private static final long serialVersionUID = 1L;

    @NotNull(groups = ValidGroup.Update.class, message = "属性id不能为空")
    @ApiModelProperty(value = "属性id")
    private Long skuId;

    @ApiModelProperty(value = "SPU id")
    private Long spuId;

    @ApiModelProperty(value = "sku名称")
    private String skuName;

    @ApiModelProperty(value = "多个销售属性值id逗号分隔")
    private String attrs;

    @ApiModelProperty(value = "sku图片")
    private String imgUrl;

    @ApiModelProperty(value = "售价，整数方式保存")
    private BigDecimal priceFee;

    @ApiModelProperty(value = "市场价，整数方式保存")
    private BigDecimal marketPriceFee;

    @ApiModelProperty(value = "商品编码")
    private String partyCode;

    @ApiModelProperty(value = "商品条形码")
    private String modelId;

    @ApiModelProperty(value = "商品重量")
    private Double weight;

    @ApiModelProperty(value = "商品体积")
    private Double volume;

    @ApiModelProperty(value = "状态 1:enable, 0:disable")
    private Boolean status;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    // 拓展
    @ApiModelProperty(value = "可售卖库存")
    private Integer stock;

    @ApiModelProperty(value = "实际库存")
    private Integer actualStock;

    @ApiModelProperty(value = "锁定库存")
    private Integer lockStock;
}
